package cn.com.generaldata.os.exportpojo;

import java.util.HashSet;
import java.util.Set;

import javax.xml.bind.annotation.XmlTransient;

import com.sun.xml.internal.bind.CycleRecoverable;

public class User implements java.io.Serializable, CycleRecoverable {

	private static final long serialVersionUID = 3222694686918819409L;

	private String id; // 用户ID
	private String role1; // 角色
	private String userIndustryId; // 选择对应的行业
	private String area1; // 行政区划
	private String userLoginname; // 登陆名称
	private String userPasswd; // 密码
	private String userRegionName; // 行政区划名称
	private String userRegionOcean; // 地区名称（至沿海地带）
	private String userCityName; // 城市名称
	private String userDepartmentName; // 部门名称
	private String userRegionCode; // 行政区划代码---单位所在地行政代码
	private String userUnit1; // 填报单位 - 企业名称
	private String userInstitutionName; // 组织机构名称
	private String userInstitutionCode; // 组织机构代码
	private String userDomainName; // 行业名称
	private String userDomainCode; // 行业代码
	private String userUnitAdmin; // 单位负责人
	private String userStatAdmin; // 统计负责人
	private String userStatAdminTel; // 统计负责人联系电话----------------------------------------------
	private String userStat; // 统计员----------------------------------------------------------
	private String userStatTel; // 统计员联系电话----------------------------------------------------
	private String userFillAdmin; // 填表人
	private String userContactPerson; // 联系人
	private String userContactPhone; // 联系人电话
	private String userFaxTel; // 传真电话-----------------------------------------------------
	private String userEmial; // 电子邮箱-----------------------------------------------------
	private String companyUrl; // 企业网址---------------------------------------------------
	private String product1; // 产品一---------------------------------------------------
	private String product2; // 产品二---------------------------------------------------
	private String product3; // 产品三---------------------------------------------------
	private String oceanIndustryName; // 海洋产业类别------------------------------------------
	private String oceanIndustryCode; // 海洋产业代码------------------------------------------
	private String userReportedDataType; // 用户上报数据类型 1： 汇总数据 2：基础数据
	private String corporationAndTel; // 法人及电话
	private Integer practitioner; // 从业人员
	private String assetTotal; // 资产总计
	private String taking; // 全年营业收入
	private String mostlyTaking; // 主营业务收入----------------------------------------------
	private String superCompany; // 上级企业名称----------------------------------------------
	private String superCompanyCode; // 上级单位组织机构代码证----------------------------------
	private String authorId; // 权限ID

	public String getAuthorId() {
		return authorId;
	}

	public void setAuthorId(String authorId) {
		this.authorId = authorId;
	}

	private String userFlag; // 用户标志-1：已经导出，和外网同步 0：新填或修改，没有导出后与外网同步

	private String dl; // 大类
	private String zl; // 中类
	private String xl; // 小类
	private String lm; // 类别名称
	private String hyl; // 行业2011
	private String addr; // 详细地址---单位所在地
	private String registAdd; // 单位注册地------------------------------------------------
	private String qh; // 长途区号
	private String ywhd; // 业务活动
	private String mc; // 用户企业详细名称
	private String dwfl; // 单位分类情况（甲乙丁）
	private String hy2002; // 行业2002
	private String hy2011; // 行业2011
	private String zclx; // 登记注册类型
	private String kgqk; // 企业控股情况
	private String jglx; // 机构类型
	private String yyzt; // 营业状态
	private String lsgx; // 企业隶属关系
	private String bbdw; // 报表单位
	private String companySynopsis; // 企业简介----------------------------------------------
	private Integer enterpriseUserUseSystem; // 企业用户是否使用系统

	private Set<UserIndustry> userIndustrys = new HashSet<UserIndustry>(0);
	private Set<EnterpriseIndustry> enterpriseIndustrys = new HashSet<EnterpriseIndustry>(0);

	private Set<Report> reports = new HashSet<Report>(0);
	private Set<Report> reportsForReportUserId = new HashSet<Report>(0);

	public User() {
	}

	/**
	 * 解决CXF循环引用问题.
	 * 
	 * @param arg0
	 * @return
	 */
	@Override
	public Object onCycleDetected(Context arg0) {
		User temp = new User();
		temp.setId(id);
		return temp;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUserIndustryId() {
		return userIndustryId;
	}

	public void setUserIndustryId(String userIndustryId) {
		this.userIndustryId = userIndustryId;
	}

	public String getUserLoginname() {
		return userLoginname;
	}

	public void setUserLoginname(String userLoginname) {
		this.userLoginname = userLoginname;
	}

	public String getUserPasswd() {
		return userPasswd;
	}

	public void setUserPasswd(String userPasswd) {
		this.userPasswd = userPasswd;
	}

	public String getUserRegionName() {
		return userRegionName;
	}

	public void setUserRegionName(String userRegionName) {
		this.userRegionName = userRegionName;
	}

	public String getUserRegionOcean() {
		return userRegionOcean;
	}

	public void setUserRegionOcean(String userRegionOcean) {
		this.userRegionOcean = userRegionOcean;
	}

	public String getUserCityName() {
		return userCityName;
	}

	public void setUserCityName(String userCityName) {
		this.userCityName = userCityName;
	}

	public String getUserDepartmentName() {
		return userDepartmentName;
	}

	public void setUserDepartmentName(String userDepartmentName) {
		this.userDepartmentName = userDepartmentName;
	}

	public String getUserRegionCode() {
		return userRegionCode;
	}

	public void setUserRegionCode(String userRegionCode) {
		this.userRegionCode = userRegionCode;
	}

	public User(String id, String role1, String userIndustryId, String area1, String userLoginname, String userPasswd,
			String userRegionName, String userRegionOcean, String userCityName, String userDepartmentName,
			String userRegionCode, String userUnit1, String userInstitutionName, String userInstitutionCode,
			String userDomainName, String userDomainCode, String userUnitAdmin, String userStatAdmin,
			String userStatAdminTel, String userStat, String userStatTel, String userFillAdmin,
			String userContactPerson, String userContactPhone, String userFaxTel, String userEmial, String companyUrl,
			String product1, String product2, String product3, String oceanIndustryName, String oceanIndustryCode,
			String userReportedDataType, String corporationAndTel, Integer practitioner, String assetTotal,
			String taking, String mostlyTaking, String superCompany, String superCompanyCode, String authorId,
			String userFlag, String dl, String zl, String xl, String lm, String hyl, String addr, String registAdd,
			String qh, String ywhd, String mc, String dwfl, String hy2002, String hy2011, String zclx, String kgqk,
			String jglx, String yyzt, String lsgx, String bbdw, String companySynopsis,
			Integer enterpriseUserUseSystem, Set<UserIndustry> userIndustrys,
			Set<EnterpriseIndustry> enterpriseIndustrys, Set<Report> reports, Set<Report> reportsForReportUserId) {
		super();
		this.id = id;
		this.role1 = role1;
		this.userIndustryId = userIndustryId;
		this.area1 = area1;
		this.userLoginname = userLoginname;
		this.userPasswd = userPasswd;
		this.userRegionName = userRegionName;
		this.userRegionOcean = userRegionOcean;
		this.userCityName = userCityName;
		this.userDepartmentName = userDepartmentName;
		this.userRegionCode = userRegionCode;
		this.userUnit1 = userUnit1;
		this.userInstitutionName = userInstitutionName;
		this.userInstitutionCode = userInstitutionCode;
		this.userDomainName = userDomainName;
		this.userDomainCode = userDomainCode;
		this.userUnitAdmin = userUnitAdmin;
		this.userStatAdmin = userStatAdmin;
		this.userStatAdminTel = userStatAdminTel;
		this.userStat = userStat;
		this.userStatTel = userStatTel;
		this.userFillAdmin = userFillAdmin;
		this.userContactPerson = userContactPerson;
		this.userContactPhone = userContactPhone;
		this.userFaxTel = userFaxTel;
		this.userEmial = userEmial;
		this.companyUrl = companyUrl;
		this.product1 = product1;
		this.product2 = product2;
		this.product3 = product3;
		this.oceanIndustryName = oceanIndustryName;
		this.oceanIndustryCode = oceanIndustryCode;
		this.userReportedDataType = userReportedDataType;
		this.corporationAndTel = corporationAndTel;
		this.practitioner = practitioner;
		this.assetTotal = assetTotal;
		this.taking = taking;
		this.mostlyTaking = mostlyTaking;
		this.superCompany = superCompany;
		this.superCompanyCode = superCompanyCode;
		this.authorId = authorId;
		this.userFlag = userFlag;
		this.dl = dl;
		this.zl = zl;
		this.xl = xl;
		this.lm = lm;
		this.hyl = hyl;
		this.addr = addr;
		this.registAdd = registAdd;
		this.qh = qh;
		this.ywhd = ywhd;
		this.mc = mc;
		this.dwfl = dwfl;
		this.hy2002 = hy2002;
		this.hy2011 = hy2011;
		this.zclx = zclx;
		this.kgqk = kgqk;
		this.jglx = jglx;
		this.yyzt = yyzt;
		this.lsgx = lsgx;
		this.bbdw = bbdw;
		this.companySynopsis = companySynopsis;
		this.enterpriseUserUseSystem = enterpriseUserUseSystem;
		this.userIndustrys = userIndustrys;
		this.enterpriseIndustrys = enterpriseIndustrys;
		this.reports = reports;
		this.reportsForReportUserId = reportsForReportUserId;
	}

	public String getRole1() {
		return role1;
	}

	public void setRole1(String role1) {
		this.role1 = role1;
	}

	public String getArea1() {
		return area1;
	}

	public void setArea1(String area1) {
		this.area1 = area1;
	}

	public String getUserUnit1() {
		return userUnit1;
	}

	public void setUserUnit1(String userUnit1) {
		this.userUnit1 = userUnit1;
	}

	public String getUserInstitutionName() {
		return userInstitutionName;
	}

	public void setUserInstitutionName(String userInstitutionName) {
		this.userInstitutionName = userInstitutionName;
	}

	public String getUserInstitutionCode() {
		return userInstitutionCode;
	}

	public void setUserInstitutionCode(String userInstitutionCode) {
		this.userInstitutionCode = userInstitutionCode;
	}

	public String getUserDomainName() {
		return userDomainName;
	}

	public void setUserDomainName(String userDomainName) {
		this.userDomainName = userDomainName;
	}

	public String getUserDomainCode() {
		return userDomainCode;
	}

	public void setUserDomainCode(String userDomainCode) {
		this.userDomainCode = userDomainCode;
	}

	public String getUserUnitAdmin() {
		return userUnitAdmin;
	}

	public void setUserUnitAdmin(String userUnitAdmin) {
		this.userUnitAdmin = userUnitAdmin;
	}

	public String getUserStatAdmin() {
		return userStatAdmin;
	}

	public void setUserStatAdmin(String userStatAdmin) {
		this.userStatAdmin = userStatAdmin;
	}

	public String getUserFillAdmin() {
		return userFillAdmin;
	}

	public void setUserFillAdmin(String userFillAdmin) {
		this.userFillAdmin = userFillAdmin;
	}

	@XmlTransient
	public Set<Report> getReports() {
		return reports;
	}

	public void setReports(Set<Report> reports) {
		this.reports = reports;
	}

	public String getUserContactPerson() {
		return userContactPerson;
	}

	public void setUserContactPerson(String userContactPerson) {
		this.userContactPerson = userContactPerson;
	}

	public String getUserContactPhone() {
		return userContactPhone;
	}

	public void setUserContactPhone(String userContactPhone) {
		this.userContactPhone = userContactPhone;
	}

	@XmlTransient
	public Set<Report> getReportsForReportUserId() {
		return reportsForReportUserId;
	}

	public void setReportsForReportUserId(Set<Report> reportsForReportUserId) {
		this.reportsForReportUserId = reportsForReportUserId;
	}

	public String getUserFlag() {
		return userFlag;
	}

	public void setUserFlag(String userFlag) {
		this.userFlag = userFlag;
	}

	public String getDl() {
		return dl;
	}

	public void setDl(String dl) {
		this.dl = dl;
	}

	public String getZl() {
		return zl;
	}

	public void setZl(String zl) {
		this.zl = zl;
	}

	public String getXl() {
		return xl;
	}

	public void setXl(String xl) {
		this.xl = xl;
	}

	public String getLm() {
		return lm;
	}

	public void setLm(String lm) {
		this.lm = lm;
	}

	public String getHyl() {
		return hyl;
	}

	public void setHyl(String hyl) {
		this.hyl = hyl;
	}

	public String getAddr() {
		return addr;
	}

	public void setAddr(String addr) {
		this.addr = addr;
	}

	public String getQh() {
		return qh;
	}

	public void setQh(String qh) {
		this.qh = qh;
	}

	public String getYwhd() {
		return ywhd;
	}

	public void setYwhd(String ywhd) {
		this.ywhd = ywhd;
	}

	public String getMc() {
		return mc;
	}

	public void setMc(String mc) {
		this.mc = mc;
	}

	public String getDwfl() {
		return dwfl;
	}

	public void setDwfl(String dwfl) {
		this.dwfl = dwfl;
	}

	public String getHy2002() {
		return hy2002;
	}

	public void setHy2002(String hy2002) {
		this.hy2002 = hy2002;
	}

	public String getHy2011() {
		return hy2011;
	}

	public void setHy2011(String hy2011) {
		this.hy2011 = hy2011;
	}

	public String getZclx() {
		return zclx;
	}

	public void setZclx(String zclx) {
		this.zclx = zclx;
	}

	public String getKgqk() {
		return kgqk;
	}

	public void setKgqk(String kgqk) {
		this.kgqk = kgqk;
	}

	public String getJglx() {
		return jglx;
	}

	public void setJglx(String jglx) {
		this.jglx = jglx;
	}

	public String getYyzt() {
		return yyzt;
	}

	public void setYyzt(String yyzt) {
		this.yyzt = yyzt;
	}

	public String getLsgx() {
		return lsgx;
	}

	public void setLsgx(String lsgx) {
		this.lsgx = lsgx;
	}

	public String getBbdw() {
		return bbdw;
	}

	public void setBbdw(String bbdw) {
		this.bbdw = bbdw;
	}

	@XmlTransient
	public Set<UserIndustry> getUserIndustrys() {
		return userIndustrys;
	}

	public void setUserIndustrys(Set<UserIndustry> userIndustrys) {
		this.userIndustrys = userIndustrys;
	}

	@XmlTransient
	public Set<EnterpriseIndustry> getEnterpriseIndustrys() {
		return enterpriseIndustrys;
	}

	public void setEnterpriseIndustrys(Set<EnterpriseIndustry> enterpriseIndustrys) {
		this.enterpriseIndustrys = enterpriseIndustrys;
	}

	public String getUserStatAdminTel() {
		return userStatAdminTel;
	}

	public void setUserStatAdminTel(String userStatAdminTel) {
		this.userStatAdminTel = userStatAdminTel;
	}

	public String getUserStat() {
		return userStat;
	}

	public void setUserStat(String userStat) {
		this.userStat = userStat;
	}

	public String getUserStatTel() {
		return userStatTel;
	}

	public void setUserStatTel(String userStatTel) {
		this.userStatTel = userStatTel;
	}

	public String getUserFaxTel() {
		return userFaxTel;
	}

	public void setUserFaxTel(String userFaxTel) {
		this.userFaxTel = userFaxTel;
	}

	public String getUserEmial() {
		return userEmial;
	}

	public void setUserEmial(String userEmial) {
		this.userEmial = userEmial;
	}

	public String getCompanyUrl() {
		return companyUrl;
	}

	public void setCompanyUrl(String companyUrl) {
		this.companyUrl = companyUrl;
	}

	public String getProduct1() {
		return product1;
	}

	public void setProduct1(String product1) {
		this.product1 = product1;
	}

	public String getProduct2() {
		return product2;
	}

	public void setProduct2(String product2) {
		this.product2 = product2;
	}

	public String getProduct3() {
		return product3;
	}

	public void setProduct3(String product3) {
		this.product3 = product3;
	}

	public String getOceanIndustryName() {
		return oceanIndustryName;
	}

	public void setOceanIndustryName(String oceanIndustryName) {
		this.oceanIndustryName = oceanIndustryName;
	}

	public String getOceanIndustryCode() {
		return oceanIndustryCode;
	}

	public void setOceanIndustryCode(String oceanIndustryCode) {
		this.oceanIndustryCode = oceanIndustryCode;
	}

	public String getCorporationAndTel() {
		return corporationAndTel;
	}

	public void setCorporationAndTel(String corporationAndTel) {
		this.corporationAndTel = corporationAndTel;
	}

	public Integer getPractitioner() {
		return practitioner;
	}

	public void setPractitioner(Integer practitioner) {
		this.practitioner = practitioner;
	}

	public String getAssetTotal() {
		return assetTotal;
	}

	public void setAssetTotal(String assetTotal) {
		this.assetTotal = assetTotal;
	}

	public String getTaking() {
		return taking;
	}

	public void setTaking(String taking) {
		this.taking = taking;
	}

	public String getMostlyTaking() {
		return mostlyTaking;
	}

	public void setMostlyTaking(String mostlyTaking) {
		this.mostlyTaking = mostlyTaking;
	}

	public String getSuperCompany() {
		return superCompany;
	}

	public void setSuperCompany(String superCompany) {
		this.superCompany = superCompany;
	}

	public String getSuperCompanyCode() {
		return superCompanyCode;
	}

	public void setSuperCompanyCode(String superCompanyCode) {
		this.superCompanyCode = superCompanyCode;
	}

	public String getRegistAdd() {
		return registAdd;
	}

	public void setRegistAdd(String registAdd) {
		this.registAdd = registAdd;
	}

	public String getCompanySynopsis() {
		return companySynopsis;
	}

	public void setCompanySynopsis(String companySynopsis) {
		this.companySynopsis = companySynopsis;
	}

	public String getUserReportedDataType() {
		return userReportedDataType;
	}

	public void setUserReportedDataType(String userReportedDataType) {
		this.userReportedDataType = userReportedDataType;
	}

	public Integer getEnterpriseUserUseSystem() {
		return enterpriseUserUseSystem;
	}

	public void setEnterpriseUserUseSystem(Integer enterpriseUserUseSystem) {
		this.enterpriseUserUseSystem = enterpriseUserUseSystem;
	}
}
